package com.huali.servlet;


import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.huali.commom.R;
import com.huali.dao.TestDao;
import com.huali.entity.User;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

@WebServlet(value = "/test")
public class TestServlet extends BaseServlet {

    private TestDao testDao = new TestDao();

    /**
     * 查询所有数据
     *
     * @param request  请求对象
     * @param response 响应对象
     * @throws IOException IO异常
     */
    public void findAll(HttpServletRequest request, HttpServletResponse response) throws IOException {
        System.out.println("查询所有数据方法调用！！！");
        //调用 数据访问层（dao） 中的查询所有方法
        List<Map<String, Object>> list = testDao.getAll();
        // 将数据响应给 请求方
        response.getWriter().write(JSON.toJSONString(list));
    }

    /**
     * 根据id修改用户年龄
     *
     * @param request  请求对象
     * @param response 响应对象
     * @throws IOException IO异常
     */
    public String updateById(HttpServletRequest request, HttpServletResponse response) throws IOException {
        System.out.println("修改方法调用！！！");
        //获取请求体中的数据
        String requestBody = getRequestBody(request);
        //将请求体数据转换为实体类
        User user = JSON.parseObject(requestBody, User.class);

        System.out.println(user);
        // 调用 dao
        int i = testDao.updateById(user);

//        //   根据返回的影响行数进行判断是否修改成功
        if (i > 0) {
            return "修改成功";
        } else {
            return "修改失败";
        }
    }


    public List<String> list(HttpServletRequest request, HttpServletResponse response) {
        ArrayList<String> list = new ArrayList<>();
        list.add("1");
        list.add("1");
        list.add("1");
        list.add("1");
        list.add("1");
        return list;
    }

}
